package com.guoguo.sincemusic.ui.common

import android.os.Bundle
import android.util.Log
import androidx.appcompat.app.AppCompatActivity

/**
 * 应用所有Activity的基类
 * @author GuoGuo
 * @date 2021/12/15
 */

abstract class BaseActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        // 添加当前跳转的Activity 到activityController 里面
        ActivityCollector.addActivity(this)
        // 打印当前Activity
        Log.d("BaseActivity", javaClass.simpleName)
        initBinding()
        initData()
        initView()
        initBroadcastReceiver()
        initListener()
        initObserver()
        initBar()
    }

    //  视图绑定
    protected open fun initBinding() {}

    //  视图初始化赋值
    protected open fun initView() {}

    //  data初始化
    protected open fun initData() {}

    //  listen事件
    protected open fun initListener() {}

    //  Observe事件
    protected open fun initObserver() {}

    //  广播注册
    protected open fun initBroadcastReceiver() {}

    //  通知栏操作
    protected open fun initBar() {}


    override fun onDestroy() {
        super.onDestroy()
        ActivityCollector.removeActivity(this)
        initDestroy()
    }

    //  页面销毁
    protected open fun initDestroy() {}
}